﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace Models {
    #region MyRegion

    public class AlermInfo {
        List<Station> _RoadIcing;
        List<Station> _SnowStorm;
        List<Station> _RainStorm;
        List<Station> _Hail;
        List<Station> _Gale;
        List<Station> _HeavyFog;
        List<Station> _HeatWave;
        List<Station> _Drought;
        List<Station> _ColdWave;
        List<Station> _SW_Hazards;
        List<Station> _Lightning;
        List<Station> _Haze;
        List<Station> _SandStorm;
        List<Station> _Frost;
        List<Station> _Typhoon;
        List<Station> _other;

        public List<Station> RoadIcing {
            get {
                return _RoadIcing;
            }
            set {
                _RoadIcing = value;
            }
        }
        public List<Station> SnowStorm {
            get {
                return _SnowStorm;
            }
            set {
                _SnowStorm = value;
            }
        }
        public List<Station> RainStorm {
            get {
                return _RainStorm;
            }
            set {
                _RainStorm = value;
            }
        }
        public List<Station> Hail {
            get {
                return _Hail;
            }
            set {
                _Hail = value;
            }
        }
        public List<Station> Gale {
            get {
                return _Gale;
            }
            set {
                _Gale = value;
            }
        }
        public List<Station> HeavyFog {
            get {
                return _HeavyFog;
            }
            set {
                _HeavyFog = value;
            }
        }
        public List<Station> HeatWave {
            get {
                return _HeatWave;
            }
            set {
                _HeatWave = value;
            }
        }
        public List<Station> Drought {
            get {
                return _Drought;
            }
            set {
                _Drought = value;
            }
        }
        public List<Station> ColdWave {
            get {
                return _ColdWave;
            }
            set {
                _ColdWave = value;
            }
        }
        public List<Station> SW_Hazards {
            get {
                return _SW_Hazards;
            }
            set {
                _SW_Hazards = value;
            }
        }
        public List<Station> Lightning {
            get {
                return _Lightning;
            }
            set {
                _Lightning = value;
            }
        }
        public List<Station> Haze {
            get {
                return _Haze;
            }
            set {
                _Haze = value;
            }
        }
        public List<Station> SandStorm {
            get {
                return _SandStorm;
            }
            set {
                _SandStorm = value;
            }
        }
        public List<Station> Frost {
            get {
                return _Frost;
            }
            set {
                _Frost = value;
            }
        }
        public List<Station> Typhoon {
            get {
                return _Typhoon;
            }
            set {
                _Typhoon = value;
            }
        }
        public List<Station> Other {
            get {
                return _other;
            }
            set {
                _other = value;
            }
        }
    }

    public class Station {
        string _stationId;
        string _areaId;
        string _stationName;
        string _lon;
        string _lat;
        string _signalType;
        string _signalLevel;
        string _issueTime;
        string _relieveTime;
        string _issueContent;
        string _type;

        [XmlAttribute("stationId")]
        public string StationId {
            get {
                return _stationId;
            }
            set {
                _stationId = value;
            }
        }
        [XmlAttribute("areaId")]
        public string AreaId {
            get {
                return _areaId;
            }
            set {
                _areaId = value;
            }
        }
        [XmlAttribute("stationName")]
        public string StationName {
            get {
                return _stationName;
            }
            set {
                _stationName = value;
            }
        }
        [XmlAttribute("lon")]
        public string Lon {
            get {
                return _lon;
            }
            set {
                _lon = value;
            }
        }
        [XmlAttribute("lat")]
        public string Lat {
            get {
                return _lat;
            }
            set {
                _lat = value;
            }
        }
        [XmlAttribute("signalType")]
        public string SignalType {
            get {
                return _signalType;
            }
            set {
                _signalType = value;
            }
        }
        [XmlAttribute("signalLevel")]
        public string SignalLevel {
            get {
                return _signalLevel;
            }
            set {
                _signalLevel = value;
            }
        }
        [XmlAttribute("issueTime")]
        public string IssueTime {
            get {
                return _issueTime;
            }
            set {
                _issueTime = value;
            }
        }
        [XmlAttribute("relieveTime")]
        public string RelieveTime {
            get {
                return _relieveTime;
            }
            set {
                _relieveTime = value;
            }
        }
        [XmlAttribute("issueContent")]
        public string IssueContent {
            get {
                return _issueContent;
            }
            set {
                _issueContent = value;
            }
        }
        [XmlAttribute("type")]
        public string Type {
            get {
                return _type;
            }
            set {
                _type = value;
            }
        }
    }
    #endregion

    public class DisasterInfo {
        string _stationId;
        string _areaId;
        string _stationName;
        string _lon;
        string _lat;
        string _signalType;
        string _signalLevel;
        string _issueTime;
        string _relieveTime;
        string _issueContent;
        string _type;
        string _ID;

        public string ID {
            get {
                return _ID;
            }
            set {
                _ID = value;
            }
        }

        [XmlAttribute("type")]
        public string Type {
            get {
                return _type;
            }
            set {
                _type = value;
            }
        }
        [XmlAttribute("stationId")]
        public string StationId {
            get {
                return _stationId;
            }
            set {
                _stationId = value;
            }
        }
        [XmlAttribute("areaId")]
        public string AreaId {
            get {
                return _areaId;
            }
            set {
                _areaId = value;
            }
        }
        [XmlAttribute("stationName")]
        public string StationName {
            get {
                return _stationName;
            }
            set {
                _stationName = value;
            }
        }
        [XmlAttribute("lon")]
        public string Lon {
            get {
                return _lon;
            }
            set {
                _lon = value;
            }
        }
        [XmlAttribute("lat")]
        public string Lat {
            get {
                return _lat;
            }
            set {
                _lat = value;
            }
        }
        [XmlAttribute("signalType")]
        public string SignalType {
            get {
                return _signalType;
            }
            set {
                _signalType = value;
            }
        }
        [XmlAttribute("signalLevel")]
        public string SignalLevel {
            get {
                return _signalLevel;
            }
            set {
                _signalLevel = value;
            }
        }
        [XmlAttribute("issueTime")]
        public string IssueTime {
            get {
                return _issueTime;
            }
            set {
                _issueTime = value;
            }
        }
        [XmlAttribute("relieveTime")]
        public string RelieveTime {
            get {
                return _relieveTime;
            }
            set {
                _relieveTime = value;
            }
        }
        [XmlAttribute("issueContent")]
        public string IssueContent {
            get {
                return _issueContent;
            }
            set {
                _issueContent = value;
            }
        }
    }
}
